package com.ruoyi.mall.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.TreeEntity;

/**
 * 商品类别对象 pms_category
 * 
 * @author fdk
 * @date 2023-09-13
 */
public class PmsCategory extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录id */
    private Long id;

    /** 类别名称 */
    @Excel(name = "类别名称")
    private String name;

    /** 深度，最顶级类别的深度为1，次级为2，以此类推 */
    @Excel(name = "深度，最顶级类别的深度为1，次级为2，以此类推")
    private Integer depth;

    /** 关键词列表，各关键词使用英文的逗号分隔 */
    @Excel(name = "关键词列表，各关键词使用英文的逗号分隔")
    private String keywords;

    /** 自定义排序序号 */
    @Excel(name = "自定义排序序号")
    private Integer sort;

    /** 图标图片的URL */
    @Excel(name = "图标图片的URL")
    private String icon;

    /** 是否启用，1=启用，0=未启用 */
    @Excel(name = "是否启用，1=启用，0=未启用")
    private Integer enable;

    /** 是否为父级（是否包含子级），1=是父级，0=不是父级 */
    @Excel(name = "是否为父级", readConverterExp = "是=否包含子级")
    private Integer isParent;

    /** 是否显示在导航栏中，1=启用，0=未启用 */
    @Excel(name = "是否显示在导航栏中，1=启用，0=未启用")
    private Integer isDisplay;

    /** 数据创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "数据创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtCreate;

    /** 数据最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "数据最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtModified;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDepth(Integer depth) 
    {
        this.depth = depth;
    }

    public Integer getDepth() 
    {
        return depth;
    }
    public void setKeywords(String keywords) 
    {
        this.keywords = keywords;
    }

    public String getKeywords() 
    {
        return keywords;
    }
    public void setSort(Integer sort) 
    {
        this.sort = sort;
    }

    public Integer getSort() 
    {
        return sort;
    }
    public void setIcon(String icon) 
    {
        this.icon = icon;
    }

    public String getIcon() 
    {
        return icon;
    }
    public void setEnable(Integer enable) 
    {
        this.enable = enable;
    }

    public Integer getEnable() 
    {
        return enable;
    }
    public void setIsParent(Integer isParent) 
    {
        this.isParent = isParent;
    }

    public Integer getIsParent() 
    {
        return isParent;
    }
    public void setIsDisplay(Integer isDisplay) 
    {
        this.isDisplay = isDisplay;
    }

    public Integer getIsDisplay() 
    {
        return isDisplay;
    }
    public void setGmtCreate(Date gmtCreate) 
    {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtCreate() 
    {
        return gmtCreate;
    }
    public void setGmtModified(Date gmtModified) 
    {
        this.gmtModified = gmtModified;
    }

    public Date getGmtModified() 
    {
        return gmtModified;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("parentId", getParentId())
            .append("depth", getDepth())
            .append("keywords", getKeywords())
            .append("sort", getSort())
            .append("icon", getIcon())
            .append("enable", getEnable())
            .append("isParent", getIsParent())
            .append("isDisplay", getIsDisplay())
            .append("gmtCreate", getGmtCreate())
            .append("gmtModified", getGmtModified())
            .toString();
    }
}
